By replacing dev_alloc_skb with alloc_skb we need to do the 16-byte
reservation ourselves. Also, it's unnecessary to align the size
when calling alloc_skb since the alignment is an implementation
detail of alloc_skb and it already takes care of it for us.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* necessary here.
* 16 bytes added as necessary headroom for netif_receive_skb.
*/
- skb = alloc_skb(SKB_DATA_ALIGN(RX_COPY_THRESHOLD + 16),
+ skb = alloc_skb(RX_COPY_THRESHOLD + 16,
GFP_ATOMIC | __GFP_NOWARN);
if (unlikely(!skb))
goto no_skb;
break;
}
+ skb_reserve(skb, 16); /* mimic dev_alloc_skb() */
skb_shinfo(skb)->frags[0].page = page;
skb_shinfo(skb)->nr_frags = 1;
__skb_queue_tail(&np->rx_batch, skb);